import java.util.*;

public class Node {

	Vector<Node> nodeList = new Vector<Node>();
	boolean a, b, c;
	boolean isInitial;

	
	public Node(boolean x, boolean y, boolean z) {
		a = x;
		b = y;
		c = z;
		
		isInitial = false;			
	}
	
	public Node(boolean a, boolean b, boolean c, boolean d, boolean e, boolean f, boolean g, boolean h) {
		a = e;
		b = f;
		c = h;
		
		isInitial = false;			
	}
	
	
	//TODO: options i.e. a,b,c
	boolean myAndClause(String s) {
		
		
		if (s.equals("all")) {
			return (this.a && this.b && this.c);
		
		} else if (s.equals("a")) {
			return (this.a);

		} else if (s.equals("b")) {
			return (this.b);

		} else if (s.equals("c")) {
			return (this.c);

		} else if (s.equals("ab")) {
			return (this.a && this.b);

		} else if (s.equals("ac")) {
			return (this.a && this.c);

		} else if (s.equals("bc")) {
			return (this.b && this.c);

		} else {
			return false;
		}
		
	}
	
	boolean myOrClause(String s) {
		
		if (s.equals("all")) {
			return (this.a || this.b || this.c);
		
		} else if (s.equals("a")) {
			return (this.a);

		} else if (s.equals("b")) {
			return (this.b);

		} else if (s.equals("c")) {
			return (this.c);

		} else if (s.equals("ab")) {
			return (this.a || this.b);

		} else if (s.equals("ac")) {
			return (this.a || this.c);

		} else if (s.equals("bc")) {
			return (this.b || this.c);

		} else {
			return false;
		}
	}
	
	
	boolean addNode(Node s) {
		
		return this.nodeList.add(s);
		
	}
	
	void setInitial() {
		isInitial = true;
	}
	
	
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
	}

}
